home *** CD-ROM | disk | FTP | other *** search
/ Night Owl 6 / Night Owl's Shareware - PDSI-006 - Night Owl Corp (1990).iso / 016a / xtclock2.zip / GETCLOCK.BAS next >
BASIC Source File  |  1991-07-30  |  2KB  |  55 lines

  1. 1 REM Program:      GETCLOCK
  2. 2 REM Author:       Gerald M. Vrooman
  3. 3 REM Language:     GWBASIC
  4. 4 REM
  5. 10 REM GETCLOCK  was written to initialize DOS time and date from a clock
  6. 11 REM card using the following port addresses:
  7. 12 REM
  8. 13 REM               &h242      Second
  9. 14 REM               &h243      Minute
  10. 15 REM               &h244      Hour
  11. 16 REM               &h246      Day
  12. 17 REM               &h247      Month
  13. 18 REM               &h249      Year
  14. 22 REM
  15. 23 REM GETCLOCK can be modified for cards using different ports by
  16. 24 REM substituting the correct port addresses  in line 60 - 90.
  17. 25 REM The following line inserted in the user's AUTOEXEC.BAT file
  18. 26 REM will set DOS time and  date when booting up:
  19. 27 REM
  20. 28 REM           GWBASIC GETCLOCK
  21. 29 REM
  22. 30 REM
  23. 31 REM
  24. 32 REM
  25. 50 REM read in time and date variables from clock card
  26. 60 N = INP(&H242) : GOSUB 500 : SE$ = STR$(DE)
  27. 65 N = INP(&H243): GOSUB 500: MI$ = STR$(DE)
  28. 70 N = INP(&H244) : GOSUB 500 : HO$ = STR$(DE)
  29. 80 N = INP(&H246) : GOSUB 500 : DA$ = STR$(DE)
  30. 90 N = INP(&H247) : GOSUB 500 : MO$ = STR$(DE)
  31. 95 N = INP(&H249) : GOSUB 500 : YR$ = STR$(DE)
  32. 190 REM
  33. 200 REM Build strings for TIME$ and DATE$
  34. 201 REM
  35. 210 TI$ = "00:00:00" : DT$ = "00/00/1900"
  36. 220 IF LEN(HO$)=2 THEN MID$(TI$,2,1) = RIGHT$(HO$,1) ELSE MID$(TI$,1,2) = RIGHT$(HO$,2)
  37. 230 IF LEN(MI$)=2 THEN MID$(TI$,5,1) = RIGHT$(MI$,1) ELSE MID$(TI$,4,2) = RIGHT$(MI$,2)
  38. 240 IF LEN(SE$)=2 THEN MID$(TI$,8,1) = RIGHT$(SE$,1) ELSE MID$(TI$,7,2) = RIGHT$(SE$,2)
  39. 250 IF LEN(MO$)=2 THEN MID$(DT$,2,1) = RIGHT$(MO$,1) ELSE MID$(DT$,1,2) = RIGHT$(MO$,2)
  40. 260 IF LEN(DA$)=2 THEN MID$(DT$,5,1) = RIGHT$(DA$,1) ELSE MID$(DT$,4,2) = RIGHT$(DA$,2)
  41. 265 IF LEN(YR$)=2 THEN MID$(DT$,10,1) = RIGHT$(YR$,1) ELSE MID$(DT$,9,2) = RIGHT$(YR$,2)
  42. 275 REM
  43. 276 REM Stuff correct time and date  into TIME$ and DATE$
  44. 277 REM
  45. 290 TIME$ = TI$ : DATE$ = DT$
  46. 298 REM
  47. 299 REM Exit GWBASIC
  48. 300 SYSTEM
  49. 499 END
  50. 500 REM convert bcd to decimal
  51. 510 IF N=0 THEN T%=0 ELSE T%=(N/16) - .5
  52. 520 D% = N - (T% * 16)
  53. 530 DE = (T%*10) + D%
  54. 550 RETURN
  55.